﻿//BaseHistorySource.cs
//Copyright (c) 2013 StockSharp LLC, all rights reserved.
//This code module is part of StockSharp library.
//This code is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.
//See the file License.txt for the license details.
//More info on: http://stocksharp.com

namespace StockSharp.Algo.History
{
	using System;

	/// <summary>
	/// Базовый класс лоадеров данных.
	/// </summary>
	public abstract class BaseHistorySource
	{
		/// <summary>
		/// Инициализировать <see cref="BaseHistorySource"/>.
		/// </summary>
		/// <param name="securityStorage">Интерфейс для доступа к хранилищу информации об инструментах.</param>
		protected BaseHistorySource(ISecurityStorage securityStorage)
		{
			if (securityStorage == null)
				throw new ArgumentNullException("securityStorage");

			SecurityStorage = securityStorage;
			SecurityIdGenerator = new SecurityIdGenerator();
		}

		/// <summary>
		/// Генератор идентификаторов инструментов.
		/// </summary>
		public SecurityIdGenerator SecurityIdGenerator { get; private set; }

		/// <summary>
		/// Интерфейс для доступа к хранилищу информации об инструментах.
		/// </summary>
		public ISecurityStorage SecurityStorage { get; private set; }

		/// <summary>
		/// Путь к директории, куда будут сохранятся скаченные файлы.
		/// </summary>
		/// <remarks>
		/// Если значение равно пустой строке, то данные не сохраняются локально.
		/// </remarks>
		public virtual string DumpFolder { get; set; }
	}
}